-- 读文件
-- 参数：需要读取的文件路径
-- 返回值：读出的内容，读取错误。
-- 如果没有读出内容，第一个参数为 nil，否则第二个参数为 nil
local function read_file(file_name)
    if not file_name then
        return nil, "missing file_name"
    end
    local file = io.open(file_name,'r')
    if not file then
        return nil, "can\'t open file \"" .. file_name .. "\""
    end
    local content = file:read('*all')
    file:close()
    return content, nil
end

-- 写文件
-- 参数：需要写入的文件路径，写入内容
-- 返回值：写入结果
-- 如果没有写入内容，返回错误内容，否则返回 nil
local function write_file(file_name, content)
    if not file_name then
        return nil, "missing file_name"
    end
    content = content or ''
    local file = io.open(file_name, "a")
    if not file then
        return "can\'t open file \"" .. file_name .. "\""
    end
    file:write(content)
    file:close()
    return nil
end

-- 读写文件演示，写入当前时间，再读取出来
ngx.say("write_file result is: ", write_file("/tmp/nowtime.log", ngx.now()))
ngx.say("result_file result is: ", read_file("/tmp/nowtime.log"))
